package com.gonsin.ta.logic.annotations;

import com.gonsin.ta.logic.enums.NodeTypeEnum;

import java.lang.annotation.*;

/**
 * 标注在方法上，让方法本身成为一个节点
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface NodeMethod {

    /**
     * 标记该方法是什么类型的节点
     */
    NodeTypeEnum type();

    /**
     * 节点的id
     */
    String nodeId();

    /**
     * 是否可以执行
     */
    boolean access() default true;

    /**
     * 运行该节点后是否结束流程
     */
    boolean end() default false;

    /**
     * 运行失败时重试次数
     */
    int retryCount() default 3;




}
